23

» WarCraft 3 / Система заданий

Похожие вопросы:

ответ
GF RaiseD:
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
ответ
Можно:
  • Создать проект, пройти модерацию и добавить в него ресурс с вакансией — он появится в ленте ресурсов.
  • Написать в свой блог, запись будет в ленте блогов, соответственно.
  • Обратиться сюда (но этот ресурс, вроде, не особо активен.
Но в «Вопросы» писать не надо.
ответ
Нестандартная арена.

23

» WarCraft 3 / задание для одного игрока

Похожие вопросы:

ответ
что именно в циклах тебе непонятно?
ответ
локально менять модельку юниту
юнит будет видим всем но для всех кроме красного игрока у него не будет модели и узнать что там юнит можно будет лишь по хпбару либо выбрав рамочкой этого юнита
иначе никак
ответ
Steal nerves, для такой системы достаточно локалка + вейт
и ненужны никакие массивы и хэштаблицы
локалки как раз обеспечивают муи

23

» WarCraft 3 / У всех так?

Похожие вопросы:

ответ
Отношения игроков можно менять триггерно. Игрок -> Set alliance или Игрок -> Set aspect of alliance.
ответ
бд
если во время атаки то через событие юнит получает урон
иначе никак
ответ
Поскольку его не пугает наличие большого влияния промахов на геймплей - скорее всего он делает рпг. Имхо в рпг всегда клево смотрятся тексттаги полученного урона, для создания которых необходимы триггеры на отлов получения урона. А отлавливаемый урон - можно и прохилить.
Для прохила(и вообще всех манипуляций с задержкой в 0.00 сек) лично я юзаю такие костыли:
Либа здесь только для доп табуляции. Я за чистый жасс + дефайны.
library ZeroTimeEvent

    globals
        constant integer ZTEArraySize = 64//Even 32 is alot, 64 is too much! Exactly what I need!
        timer Zero//Used for 0. sec uses
        integer ZTECurrent = 0
        unit array ZTEUnits[ZTEArraySize]
        integer array ZTEIntegers[ZTEArraySize]
        real array ZTEReals[ZTEArraySize]
        trigger array ZTETriggers[ZTEArraySize]
    endglobals
    
    function ZeroTimeEvent takes nothing returns nothing
            loop
                set  ZTECurrent = ZTECurrent - 1
                call TriggerExecute( ZTETriggers[ZTECurrent] )
                exitwhen ZTECurrent < 1
            endloop
    endfunction
    
    #define ZTEAddUnit(u) = {
        set  ZTEUnits[ZTECurrent] = u
    }
    
    #define ZTEAddInteger(i) = {
        set  ZTEIntegers[ZTECurrent] = i
    }
    
    #define ZTEAddReal(r) = {
        set  ZTEReals[ZTECurrent] = r
    }
    
    #define ConfirmZTE(trig) = {
        set  ZTETriggers[ZTECurrent] = trig
        set  ZTECurrent = ZTECurrent + 1
        call TimerStart( Zero, ZeroTime, false, function ZeroTimeEvent )
    }
    
    
    
endlibrary
Пример использования
#define UnitRemoveForceAttack(u) = {
    call UnitAddAbility( u, 'Abun' )
    call UnitRemoveAbility( u, 'Abun' )
         ZTEAddUnit(u)
         ConfirmZTE(CheckIfUnitHasA002)
}
Минус такой системы в необходимости создавать триггер для каждого блока кода, т.к. массивы блоков кода запрещены
ответ
На карте нет ни одной декорации, нижняя поверхность collision box которой не погружена в террейн целиком, так что можно предположить, что нижняя поверхность попросту не обсчитывается физической моделью.
Из всего этого я могу сделать вывод, что в каждой декорации дополнительно к её координатам хранится только длинна стороны её collision box (вернее, её половина)
я уже точно не помню но как припомнил там суть что идёт евент входа в регион соответсвенно регион дефайнит ХУ оси и отдельно есть мин/макс екстенды этого объекта и поидеи всё. юнит входит в регион чекается где он. скорее всего в движке движения юнита есть "потолок" и "пол"
function Trig_Doodads_Actions takes nothing returns nothing
set ax=35
call CreateHWRectBR(-8174,-3900,-7914,-3639,1054,1679)
это я для теста делал т.е. по этому "в 3д" можно бегать (спиральная лестница)
if xux.hwmaxz!=0 and xux.hwmaxz-rr>xux.Zsize then//mhg>xux.Zsize then
это чек на сабж потолка
мне просто лень настраиваеть ворледитор и тулы что бы запустить АОС с той лестницей и сделать видео с демо.
с другой стороны возможно позже и сделаю.
система максимально простая что бы вц3 не обсирался там жасс и так еле дышит.
ответ
Можно просто пикать всех юнитов в регионе, или ещё красивее
GetEnumRange('Лечилка')

23

» WarCraft 3 / все про мод

Похожие вопросы:

ответ
cJass, vJass и Jass2 - разные концы одной палки. Но после освоения структур, которые есть в vJass и освоения синтаксиса cJass ты вполне сможешь быстро освоить любой язык C-семейства.
ответ
Закрыто.

23

» WarCraft 3 / Свойства материалов

Похожие вопросы:

ответ
Смотри какой принцип описания тех или иных объектов и делай так же, не забывай про нумерацию объектов и подправку их количества в нужных местах.
Считаю нужным написать по этому поводу Золотую Фразу Академии — в базе есть статья об этом.
ответ
Ааа, ну тогда смотри
не_кликабельность Сларка делается так
а - его морфят в юнит без модельки
б - ему дают москитов и отбирают (что бы на него нельзя было кликнуть, но можно было выделить)
в - все события "атакован" приводятся к действию "стоп", если это Сларк
г - аура регена игнорирует то что Сларка видят
у тебя на пути стоит пункт Б, т.к. что бы умные люди не заменяли себе пустую модельку (пункт А) на нормальную и не могли на неё в итоге тыкать... Так что в итоге - ты можешь её заменить, но тыкнуть всё равно не сможешь... шах и мат

23

» WarCraft 3 / Помогите разобраться

Похожие вопросы:

ответ
~16GB:
nvc123,
у меня подобным образом сделаны почти все спелы моей карте и всё ок. Если бы ты сделал карты, в которые хоть кто-то играет, то тебя можно было бы ещё слушать, а так. В доте тоже вон всё на хэше и триггерах и всё ок. Ещё и cjass предлагаешь.
ответ
Sergey105, здесь здесь пример со стеком, думаю там есть то, что тебе нужно
ответ
Да у тебя куча дыр, во-первых ты не запустил триггер 115 области lumber direction, и оно соответственно не реагирует на событие. Во-вторых перепроверь gold проверку условия на да или нет в той карте которую ты отправил стоит нет
А золото не движется потому что ты ожидание 0,5 сек поставил а область в милисекунде от изначальной то есть триггер не успевает запуститься
ответ
изменение уровня способности у мертвого юнита. апгрейдом или триггерно, неважно. скорее всего, способность в спелбуке
проверь AGg0
ответ
Воу... Джаз не обязательно изучать, всё это можно сделать и на ГУИ, тем более такую простую способность. На этом сайте есть тема "Заклинания на заказ". Заказывай, жди, получай, изучай. Если прям горит, могу сделать для тебя сам.

23

» WarCraft 3 / Вес модели

Похожие вопросы:

ответ
пусть уменьшает число вертексов и трианглов. и в конце концов учится моделить в визе, как Вуль.
ответ
перед удалением в редакторе анимации нажмите на Кадры>>>Очистить, потом удаляйте саму анимацию по завершению в редакторе вершин Оптимизация все пункты из графы.
ответ
это не стол заказов а модуль Q/A
с просьбой о помощи в модели на заказ (или как она там называется)
ответ
При конвертации моделей из игр в MDX их вес велик как и вес их текстур ! Я оптимизирую и сжимаю модель через MDLvis а текстуры через BLP Laboratory но их вес все еще внушителен ( Есть ли другие варианты среза веса без дефектов материала ?
Нет. Только удаление лишних анимаций. Остальную оптимизацию веса сделает mdlvis.
При импорте некоторых моделей в карту возникает проблема с их выбором при манипуляции ( Передвижения ) словно их Выбор отсутствует , Думаю некоторые с подобным сталкивались ...
Если модель нельзя выделить в игре курсором, у неё отсутствуют collision shapes (формы коллизии). Их можно добавить в War3ModelEditor -> Окна -> Редактор узлов -> правый клик -> Создать форму - > отредактировать размеры и положение. Их можно добавить несколько, чтобы покрыть модель целиком. Они отвечают за взаимодействие модели с курсором.

Один ресурс - один вопрос, после пойдут замечания.

23

» WarCraft 3 / Невидимые здания

Похожие вопросы:

ответ
Модель битая или текстуры не в соответствующем качестве. Раздел текстур модели вроде бы прописан верно. Количество текстур и пути тоже в порядке. Но не импортируется как должно. Замени модель на другую.
Попробуй эту версию
Да, эта работает. В анимации stand видимость была не задана. Да там собственно и анимаций никаких нет.
Но выглядит она как-то не красиво. Второй вариант (1а) получше- тектстуры ОК
Вот он
ответ
способность никак
вместо способности должна быть покупка юнита
при покупке юнита смотрим владельца купленного юнита
это и будет игрок нажавший на иконку
после этого выбираем таверну и удаляем купленного юнита
ответ
Добавь инвиз мины - он не сбивается любыми действиями юнита - Мина Взрывается ( 'Amin' ) задержку срабатывания нужно только установить на бесконечную.
ответ
Steal nerves:
есть функции
раскрыть
//меняет позицию с помощью точки или координат
native DefineStartLocation takes integer whichStartLoc, real x, real y returns nothing
native DefineStartLocationLoc takes integer whichStartLoc, location whichLocation returns nothing
//здесь можно установить номер индекса у игрока, скорее всего союза данного игрока (forceplayer - группы игроков)
native ForcePlayerStartLocation takes player whichPlayer, integer startLocIndex returns nothing
//узнать номер индекса стартовой позиции игрока
native GetPlayerStartLocation takes player whichPlayer returns integer
//возвращает точку указанной стартовой позиции
constant native GetStartLocationLoc takes integer whichStartLocation returns location
//узнаем координаты стартовой позиции
constant native GetStartLocationX takes integer whichStartLocation returns real
constant native GetStartLocationY takes integer whichStartLocation returns real
//устанавливаем индекс стартовой позиции игроку. 
native SetPlayerStartLocation takes player whichPlayer, integer startLocIndex returns nothing
StartLocation отвечает за пробелы. Есть на сайте хгм система пробела, отвечает за то чтобы камера не смещалась при нажатии пробела.
ответ
~8gabriel8:
Короче, обнаружил просто ошибку в пути файла, вот нормальная версия:
Если кому-то ещё понадобится это, то там ошибка в пути текстуры розовой модели. Вместо Glow стоит Gloe.

23

» WarCraft 3 / Проблема с текстурой.

Похожие вопросы:

ответ
ну вот в чём твоя ошибка: Ты изменил название текстуры, а значит ты изменил и пути, тебе нужно зайти в war3modelEditor и там уже открыв модель выбрать вкладку: Windows=>Texture Manager, где будет список текстур, ты удаляешь 1 старую текстуру, которая у тебя была и добавляешь новую, при этом модель с текстурой должны лежать в одной папке, которая не содержит кириллицы (например путь должен быть d:\Users\User\Desktop\moroz - без русских букв ).
Переименовать новую текстуру на старую по идее не имеет смысла, потому что опять же ты сохранил её без текстуры, а => испоганил, накосячил, сломал (называй как хочешь).
ответ
Свершылось... Заработало...
Вот оно.

Описание проверки:
  • проверил в редакторе, он просто вылетает при попытке настройки в РО;
  • переконвертировал в .mdl и осмотрел, все норм;
  • открыл в War3ModelEditore, удалил лишние текстуры, материалы, настроил анимации геосетов;
  • профит.
Если кто не верит, вот скрин.
ответ
Возможно ты пересохранил текстуру в блп-лабе, поставив неправильные настройки альфа-канала при сохранении
ответ
Viktor2, а ты реально импортировал все текстуры (в кол-ве 21шт ) в карту? Если хотя бы одну забыл -модель не будет отображаться.
ответ
Каро, чтобы закрыть вопрос - выбери лучший ответ.

23

» WarCraft 3 / Проблема с моделями

Похожие вопросы:

ответ
Свершылось... Заработало...
Вот оно.

Описание проверки:
  • проверил в редакторе, он просто вылетает при попытке настройки в РО;
  • переконвертировал в .mdl и осмотрел, все норм;
  • открыл в War3ModelEditore, удалил лишние текстуры, материалы, настроил анимации геосетов;
  • профит.
Если кто не верит, вот скрин.
ответ
Slice_Of_Spice:
ssbbssc, понятия не имею, почему он так обозвал экзешник редактора. Может из-за ЖНГП. Если ты про версию варика, то она 1.26.
С другими моделями всё ок? Если да, то копай модель, нарушил правила какие-то. Пересобери её заного)
ответ
держи
ответ
нет, birth не вшита в stand...
автор просто немного накосячил с анимацией видимости...
держи...
на этот раз бесплатно и без смс..)
ответ
GRESHNIK1, ошибку вызывает каждая из 3 моделей?
или лишь 1 из них?
ну а вообще критует из за того что модель кривая
либо брось это дело либо сконверти их в mdl и правь через блокнот

23

» WarCraft 3 / Типы атаки

Похожие вопросы:

ответ
Область поражения будет не округлой а эпилептической, смещенной на некоторое расстояние вперед, чтобы добится эффекта как от волны силы, чтобы поражать врагов позади цели атаки.
ответ
Так как ты это хочешь - нет, но можно добавить много типов атаки, если ты узнаешь про структуры
ответ
Таурен Тауреныч, сфера может только включить индекс атаки, но не выключить или переключить. Переключить индекс можно с помощью способности "вырвать дерево", т.е. триггерно.
P.S. кажется совсем недавно на хайве была наработка по переключению атаки

Собственно, сама наработка
ответ
8gabriel8, ты никак не отследишь тип атак и тип урона. Только мемхак или костыли, вроде у футмана абилка А - значит у него физический урон...

23

» WarCraft 3 / Какой функция отвечает?

Похожие вопросы:

ответ
Вы что шутите? Никто банить за "плохие" вопросы не будет. Есть более логичное решение - скрывать такие вопросы и кидать линки на соответствующие материалы.
ответ
Вообще в мемхаке есть же.
Но новички в картостроительстве, большинство серверов и отчасти последний патч варкрафта в мемхак не понимают.
ответ
JyHgle, изменение базовой скорости атаки не изменяет базовую скорость анимации, мин и макс скорость анимации атаки у вас прописана в настройках юнита.
ответ
дочерние потоки наследуют свойства основных
то же касается и екзекута
ответ
Steal nerves:
возможно дебагом
но для разъяснения стоит посмотреть тут
при событии юнит начинает подготовку тренируемого юнита нет, но можно выявить его тип id с помощью trained unit-type.

23

» WarCraft 3 / Триггеры

Похожие вопросы:

ответ
Вам сюда, господин хороший. Там есть ответы, практически, на все ваши вопросы.
ответ
спасибо, XGM Bot!
Нашел это - xgm.guru/p/blog-nvc123/ur1-3
ответ
Собственные попытки в студию, что не получается?
Напомним - ЭТО НЕ СТОЛ ЗАКАЗОВ, здесь задают вопросы про реализацию тех или иных вопросов, спрашивают про ошибки, оптмизацию, отдельные функции. Я не увидел в вашем вопросе ничего кроме невнятного описания механики способности, " вокргу кого то там огненные столбы возникают, и еще порча"...
ответ
Filius Dei, во вредные советы подъехали...
Русификатор очень поможет тем кто собрался ломануть чужую карту и сделать её мод, прям ваще жир...
Потом нубам вроде сударя не стоит бежать ломать чужую карту, чето там пытатся копировать - это все бесполезно, недавно был похожий вопрос - помогите взломать карту за вознаграждение, карту сломали - ну а дальше что? Он неспособен ничего сделать потому что просто не понимает как?
Играя в некую карту вы мните себя великими балансерами и картоделами, мол да чё там, шяс подправлю пару значений и все будет норм - нет не будет, это не так просто как может показаться, без понимания устройства карты и знания Jass вам нечего там делать, вы тупо ничего не сможете изменить, да даже скопировать и вставить!
Помните что без труда не выловишь и рыбку из пруда, т.е изи способов в 1 кнопку взять и запилить чужую карту так как вам хочется или вдруг стащить всех героев себе в карту нет, а уж теболее не случится так что вам кто то возьмет и все это сделает вам за спасибо...

23

» WarCraft 3 / Вечная ночь

Похожие вопросы:

ответ
Ночь и день багается если использовать измененный файл "MiscData" в папочке UI. Чтобы сделать вертикальные холмы, к примеру.
ответ
Нажми клавишу "L".

23

» WarCraft 3 / Отсутствует строка.

Похожие вопросы:

ответ
GF RaiseD:
Вопрос исчерпан. Поставил JNGP.
ответ
blizzard.j нельзя менять, если нужны какие-то изменения - создай другой .j файл и пропиши include.
ответ
~8gabriel8:
Camby, чем вас не устраивает способ Blizzard? Переносите в кэше героя с предметом, предмет перемещаете в нужное место, а героя из игры убираете.

23

» WarCraft 3 / Триггерные заклинания

Похожие вопросы:

ответ
Всем спасибо, проблему решил за счет проверки на цвет/номер игрока как индекс в массиве переменных. Все работает как запланировано.
Вопрос вдогонку: как можно задавать сам индекс переменной-массива?)
З.Ы. Массивы конечно зло, но другого способа хранить инфо по одному спеллу, не используя множество переменных - пока не умею.
ответ
Заклинание "Подчинение" или "Очарование"(зависит от перевода) или "Charm" в английской версии.
ответ
Pingvinromeo, проблема в том что ты фигню творишь
если спел применён в точку то точка есть
перемещение это 1 действие
за это время точка не исчезнет
короче пруфы того что не работает
ответ
Вопрос в том, что является целью способности. Если точка, то все должно работать. Если нет то нужно переделать на базе другой способности. Если целевая точка способности не ловится а событие ловится - изменение ландшафта будет в центре карты.
По событию "начинает применять способность" точка должна ловиться например на базе "Волны силы". Далее можно записать координаты и по завершению спелла создать изменения ландшафта в этой точке.
PS Действие вроде д.б. Окружение - Change Terrain type
В спелле на базе "Волны силы" точка ловится и по событию "приводит способность в действие"
Пример для 3 базовых спеллов
ответ
  1. Для этого есть xgm.guru/p/wc3/needspells
  2. Рекомендую прочитать статьи по этому поводу.
3.
  1. Или такой пример
local unit c = GetTriggerUnit()
local unit tg = GetSpellTargetUnit()
//local real x1 = GetUnitState(c, UNIT_STATE_MAX_LIFE )
//local real x2 = GetUnitState(c, UNIT_STATE_MAX_MANA )
//local real x3 = GetUnitState(c, UNIT_STATE_MANA )
//local real z = I2R(GetHeroAgi(c, TRUE ))
//local real z1 = I2R(GetHeroAgi(c, TRUE ))
//local real z2 = I2R(GetHeroStr(c, TRUE ))
//local real z3 = I2R(GetHeroInt(c, TRUE ))
local real zall = I2R(GetHeroInt(c, TRUE ) + GetHeroStr(c, TRUE ) + GetHeroAgi(c, TRUE ))
call UnitDamageTarget( c, tg, zall, true, true, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, WEAPON_TYPE_WHOKNOWS )
set c = null
set tg = null
И вообще сформулируйте вопрос правильнее..

23

» WarCraft 3 / Вопрос по созданию триггерной способности.

Похожие вопросы:

ответ
Это стандартная способность феникса "пламя феникса"
ответ
должен сразу предупредить что делать за тебя никто не будет
теперь по твоим вопросам
  1. чтобы нельзя было кликать скрываешь, даёшь москиты, делаешь видимым
  2. действие проиграть звук и указываешь твою фразу
  3. выбираем всех подходящих(враги,живые) юнитов в радиусе от точки каста и создаём по дамми юниту(юнит без модели, без атаки, с москитами, с нужной способность, время жизни юнита 1 сек) для каждого подходящего юнита приказывая дамми юниту применить нужную способность в подходящего юнита
таким образом каждый дамми юнит применит нужную способность (в твоём случае корни) в 1 подходящего юнита для которого он и был создан а потом исчезнет
  1. система отлова урона
  2. морф юнита либо орбы
всё что я не описал есть в статьях
тебе нужны первые 2 раздела ("Основы" и "Триггеры и объекты")

23

» WarCraft 3 / Игровые Константы

Похожие вопросы:

ответ
Если светлячок крип, то по достижению N уровня герой начинает получать меньше опыта от его убийства
На скриншоте показана сама строка отвечающая за набираемый героем опыт от крипов в %
На мой взгляд легче сделать триггер-базу данных и отлавливать смерть юнита, а далее через Если То Иначе сделать получение опыта на каждый тип юнитов.
ответ
если ты про поля РО с описаниями - пока никак
драколич там вроде с рб (ретурн баг) балуется, но инфы нет и не было пока что
а если ты про сообщения в игре - преобразование переменной в строку
ответ
Master_Battle, а причём тут вообще слово индексы?
ты хоть узнай значение слова перед тем как использовать его
Master_Battle, такое возможно лишь с помощью рб
для этого тебе нужно найти где в памяти хранится эти данные и переписать их
так же возможно для некоторых вещей придётся записать в память байткод
в общем для этого тебе нужно знать как устроена память и как в ней хранятся данные + сама система рб
ну и jass естественно
ответ
Никак, делайте кастомный стальной вихрь на основе аватара или иммолейшина.
ответ
Опыт для перехода на новый уровень:
Чтобы понять сколько опыта нужно для второго лвл достаточно посмотреть в графу: "Герою требуется опыта: таблица", по умолчанию - 200.
Для третьего и последующего опыта используется формула: Опыт для апа = предыдущее значение * фактор предыдущего значения + уровень * фактор уровня + фактор константы. (Предыдущее значение = 200 т.к столько опыта нам нужно было для апа 1-го уровня)
Опыт за крипов. (есть разделение, опыт за крипов или за вражеского юнита, не героя.)
Общая формула выглядит так: Опыт за убийство = предыдущее значение * фактор предыдущего значения + уровень(моба которого ты убиваешь)* фактор уровня + фактор константы. Предыдущее значение ровно 25 (смотри графу: Набранный героем опыт: Норма, таблица) НО не все так просто. Если это был крип то тут вмешивается другая константа "Набранный героем опыт: таблица сокращения монстров: баз. значение:80%, 70%, 60%, 50%, 0%." и сокращает эти 25 на величину из этой константы (пример: убил ты крипа 1-го лвл и получаешь не 25 а 20 (80% от 25 = 20). Формула вступает в силу со второго лвл, т.к насчет первого все прописано. За убийство героев, опыт рассчитывает тоже отдельно, точных данных пока не знаю. На форуме все давно есть.

23

» WarCraft 3 / Изменение скорости

Похожие вопросы:

ответ
(
бд-база данных
баг-когда 1 триггер перемещает предмет а 2 удаляет врезультате эфект от предмета есть а сомого предмета нету
но ты с бд замучаешся если герой атакует ведь это надо отслеживать ловкость и все предметы
цикл это loop если что
ответ
По просьбе автора.
ответ
Это может только мемхак, сбросить перезарядку атаки.
Так же можно капнуть в сторону пассивки вивера, но тут свои тонкости.

23

» WarCraft 3 / Какая то хрень с ифами :(

Похожие вопросы:

ответ
ххххххх
Ну дык.
Ты пикаешь всех юнитов вокруг позиции кастера.
В т.ч. кастера.
Он же не враг сам себе)
так что выполнится оба действия могут)
и если там дамми есть - в ту же пачку, могут вызвать срабатывание.
Я фильтрую дамми по левелу, лвл дамми ставлю 0.

23

» WarCraft 3 / Помогите определить формулу!

Похожие вопросы:

ответ
Эм. Ну если триггерно делаешь, то мути так: speed=maxspeed*(1-distance/max_distance) , где speed- текущая. maxspeed- начальная скорость (самая максимальная без замедления), distance (уже пройденное расстояние), maxdistance (максимальное расстояние).
Ой. не дочитал. Там зависимость еще от времени. Ну тогда вообще не проблема.
Мб тогда стоит к школьной физике обратиться?) S=V0+(at^2)/2. A будет отрицательной (a=-V0/t), т.к конечная скорость = 0.
S=V0t+(at^2)/2.
ответ
Читаем пока не поймем.

23

» WarCraft 3 / Утечки

Похожие вопросы:

ответ
Какой ужас
Делай вот так.
бронепоезд
создать.
направить на 128 точек наверх(90)
сделать неперманентным
текст удалится через 3 секунды
текст затухнет до 100% прозрачности через 3 секунды
Вот чёрт. не успел приплюснуть к посту.
ответ
Steal nerves:
инструкции как таковой нет, могу описать, но здесь миллион примеров нужно, чтобы разжевать новичку (и случаи уникальны у каждого, и их очень много. Не знаю с чего начать). А вообще что там сложного? знаешь jass, и все. Тебе нужно знать является ли объект хэндл, и нужно ли его удалять (или побочная нативка удалит, как например у текстагов. Текстаги можно не удалять напрямую, есть у него функция, задающая время жизни. Текстаг сам исчезнет. Или вот фильтр удалять не обязательно, она не утекает). Все одинаково: нужно удалить объект (помню, у меня жестко мультиборд утекал, пока не узнал, что есть функция обновляющая ячейку, она еще дает не плодит новые). Поэтому нужно знать можно ли удалить (умирающего юнита например удалять не нужно, сам разложится. А вот например предметы как руны нужно, при подборе руны, руна остается в игре. Например, миллионы книжек в магазине, если игрок будет покупать миллионами, он будет плодить. Поэтому при получении удаляй сразу). Чистить содержимое в хэш-таблице, и обнулять локалки. Функции BJ могут утекать, там не обнуляют локалки. Раскрыть функции BJ, там где есть локалка не обнуленная подправить и др. Помню, хотел взять координаты от точки, там x и y. Я вызвал (создал) два раза точки, раньше не понимал, что создаю точки. Нужно найти альтернативные, что возвращают не точку, а координаты (реальные числа), например, юнита. Чтобы знать, это надо смотреть на сайте (попался необычный хэндл, вбиваешь в поиск). Тебе нужна библиотека всех функции и нативок. Очень удобная библиотека есть в jngp. Щас нубы очень не любят jngp, так как не отображает ошибки и не компилирует что-то. Так выключите плагин UMSWE, и Vjass и Cjass тоже выключите. Пользуйтесь библиотекой и новыми триггерными менюшками, доступны в hNGP без этого. Все придет с опытом, просто подольше посиди с кодом.

23

» Администрация XGM / Баги на XGM

Похожие вопросы:

ответ
xANDYx, можно еще узнать разрешение экрана?
А ладно не важно, уже разобрался, жди когда залью апдейт
ответ
php (да и любой скриптовый язык )он такой
причем тут php вообще? О_о Страница рисуется html + css

У меня все норм и как надо скролиться до заголовка

А нет, та же фигня. Я кажись понял для чего это было сделано, но видимо немного не так реализовали и поэтому контент уезжает.... В общем если будет время может быть посмотрю
ответ
ответ
Если речь про этот
то это не баг, так и должно быть
ответ
Нужно внимательнее читать правила. Все проекты, которые видны другим пользователям, проходят премодерацию - модератор должен утвердить вносимые изменения. Обычно это простая формальность и нужно просто дождаться модератора.

23

» WarCraft 3 / SetUnitMoveSpeed( )

Похожие вопросы:

ответ
Сделать больше нельзя. Можно использовать jass-систему перемещения (это никак не связано со скоростью юнита), которая позволит преодолеть этот барьер. Но это уже другая история)
ответ
Не юзай TriggerSleepAction и будет тебе счастье. Особенно когда юзаешь глобальные переменные, вполне вероятно, что конфликт
ответ
Impertus:
quq_CCCP:
Без локейшенов, набери
	GetRandomReal( GetRectMinX( bj_mapInitialPlayableArea ), GetRectMaxX( bj_mapInitialPlayableArea )  )
Для Y думаю догадаешся как найти...
Размер карты-то изначально известен, можно обойтись и рандомом между статичными цифирями. Думал над этим вариантом тоже, значит будем пользовать его.
nvc123:
к слову этот вообще не рабочий ибо количество итераций циклов может превысить лимит потока и тогда триггер просто обрубится
Ставить таймеры по 0.5 сек? Такого вида?
loop
        exitwhen  IsUnitDeadBJ(BET) or BECo > 20
        if (TimerGetRemaining(t) <= 0) then
            call MoveLocation( p, GetRandomReal ( X1, X2), GetRandomReal (Y1, Y2))
            call SetUnitMoveSpeed( BET, 500.00 )
            call IssuePointOrderLocBJ( BET, "move", p )
            set BECo = BECo + 0.5
            call TimerStart(t, 0.5, false, null)
        endif     
endloop
Таймер не вейт, он запустить новый Поток когда истечет, в функции старта таймера 4 параметра, таймер, время, периодичный буль и ссылка на код .
вместо null нужно вписать function Имя функции
functiom Timer_UnitMove_Expires takes nothing returns nothing
    // эта функция будет вызыватся каждые 0.50 сек. пока не остановить таймер
endfunction


function A takes nothing returns nothing
local timer t = CreateTimer( )

call TimerStart( t, 0.50, true, function Timer_UnitMove_Expires )

set t = null
endfunction
Чтобы передавать информацию между функциями нужны так называемые Аттачи, нужно прикрепить данные к триггеру или таймеру, потому что мы можем получить ссылку на них в запущенных ими потоками.
Про хештаблицу куча данных на сайте, SaveUnitHandle( хештаблица, ключ 1, ключ 2, сам юнит )
ответ
да юнит должен быть летающим,либо добавь и сразу удали способность привратиться в ворона затем меняй высоту
ответ
надо хранить все триггерные бонусы мс в бд и работать с ними